package com.steel.yfmall.cloud.assistant.bean.param.zg;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 价格数据
 */
@Data
public class APIPriceEffectBean implements Serializable {

    private static final long serialVersionUID = -9155910876948858011L;

    /**
     * 生效或失效类别
     * Y表示生效；
     * N表示失效；
     */
    private String type = "Y";

    /**
     * 价格組成
     */
    private Sr051vo sr051vo;

    /**
     * 价格组成代码
     */
    private List<Sr061Bean> sr061;

    /**
     * 价格組成因子
     */
    private List<Sr062Bean> sr062;

    /**
     * 价格因子设定
     */
    private List<Sr063Bean> sr063;

    /**
     * 价格资料
     */
    private List<Sr064Bean> sr064;


    @Data
    public class Sr051vo implements Serializable{

        private static final long serialVersionUID = 7952095869536725067L;
        // 价格类别
        private String priceType;
        // 价格类型
        private String priceClassify;
        // 状态(I建立E生效X作废)
        private String status;
        // 销售方式
        private String salesType;
        // 版本号
        private String version;
        // 生效人
        private String effectEmpNo;
        // 生效日期
        private String effectDate;
        // 生效時間
        private String effectTime;
        // 取消生效人员
        private String unEffectEmpNo;
        // 取消生效日期
        private String unEffectDate;
        // 取消时间
        private String unEffectTime;
        //
        private String compId;
        //
        private String month;
        // 版本
        private String typeVersion;
        // 幣別
        private String crcy;

        private String priceDate;

        private String memo;

        private String createEmpNo;

        private String createDate;

        private String createTime;

        private String updateEmpNo;

        private String updateDate;

        private String updateTime;
    }

    @Data
    public class Sr061Bean implements Serializable{

        private static final long serialVersionUID = -4277042279890113049L;
        /**
         * 价格代码
         */
        private String priceCode;

        /**
         * 价格代码说明
         */
        private String priceDesc;

        /**
         * 版本号
         */
        private String version;

    }

    @Data
    public class Sr062Bean implements Serializable{

        private static final long serialVersionUID = 744491549734898139L;
        /**
         * 价格代码
         */
        private String priceCode;

        /**
         * 价格因子
         */
        private String priceFactor;

        /**
         * 代码因子说明
         */
        private String factorDesc;

        /**
         * 数据比对类型 C等于 D区间值
         */
        private String dataType;

        /**
         * 价格因子序号
         */
        private String factorSerNo;

        /**
         * 特殊規則代碼
         */
        private String specCode;

    }

    @Data
    public class Sr063Bean implements Serializable{

        private static final long serialVersionUID = 6613828314725198222L;

        /**
         * 价格因子
         */
        private String priceFactor;

        /**
         * 因子识别值
         */
        private String id;

        /**
         * 因子下限值
         */
        private String fatValueMin;

        /**
         * 因子上限值
         */
        private String fatValueMax;

        /**
         * 因子值(字串)
         */
        private String facVal;
    }

    @Data
    public class Sr064Bean implements Serializable{

        private static final long serialVersionUID = 8633947817543985699L;

        /**
         * 价格代码
         */
        private String priceCode;

        /**
         * 因子识别值
         */
        private String id;

        /**
         *
         * 价格
         */
        private BigDecimal price;

        /**
         * 版本
         */
        private String version;
    }

}
